﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using AutoMapper;
using DTO;

namespace DAO
{
    public class GhiNhanDatVe_DAO
    {
        public BindingList<GhiNhanDatVe_DTO> GetGhiNhanDatVeList()
        {
            BindingList<GhiNhanDatVe_DTO> listGhiNhanDatVe = new BindingList<GhiNhanDatVe_DTO>();
            try
            {
                QLCBDataContext context = new QLCBDataContext();
                var query = from phieudat in context.PhieuDatChos
                            join hk in context.HanhKhaches on phieudat.MaHanhKhach equals hk.MaHanhKhach
                            join hv in context.HangVes on phieudat.MaHangVe equals hv.MaHangVe
                            select new
                            {
                                phieudat.MaPhieuDat,
                                phieudat.MaChuyenBay,
                                hv.MaHangVe,
                                hk.MaHanhKhach,
                                hk.TenHanhKhach,
                                hk.CMND,
                                hk.DienThoai,
                                phieudat.NgayDat,
                                phieudat.GiaTien,
                            };
                int mSTT = 1;
                foreach (var cb in query)
                {
                    GhiNhanDatVe_DTO phieudatDTO = new GhiNhanDatVe_DTO();
                    phieudatDTO.STT = mSTT;
                    phieudatDTO.MaPhieuDat = cb.MaPhieuDat;
                    phieudatDTO.ChuyenBay = cb.MaChuyenBay;
                    phieudatDTO.MaHangVe = cb.MaHangVe;
                    phieudatDTO.MaHanhKhach = cb.MaHanhKhach;
                    phieudatDTO.TenHanhKhach = cb.TenHanhKhach;
                    phieudatDTO.CMND = cb.CMND;
                    phieudatDTO.DienThoai = cb.DienThoai;
                    phieudatDTO.NgayDat = (DateTime)cb.NgayDat;
                    phieudatDTO.GiaTien = (float)cb.GiaTien;
                    listGhiNhanDatVe.Add(phieudatDTO);
                    mSTT++;
                }
            }
            catch (System.Exception ex)
            {
                string str = ex.Message;
            }
            return listGhiNhanDatVe;
        }
    }
}
